讓遠端伺服器( ex: GCE)在本機修改 push 上 github 後,可以自動 git pull 更新。 
本篇實作皆參考官方文件
專案開 public,clone 若用
https
git config --global user.email "xxxx@example.com", git config --global user.name "xxxxxx"
ssh
ssh-keygen -t rsa -b 4096 -C "xxxx@example.com",再將 public key 設定在專案下的 Deploy Keys 中。 參考
若還沒使用過 Action 可以先參考這篇
* 測試用自動產生的 ssh key 連線: `ssh -i ~/.ssh/google_compute_engine xxxxxxx@xx.xx.xxx.xx` 確定 key 可以用
gpg --symmetric --cipher-algo AES256 ~/.ssh/google_compute_engine
 
mv ~/.ssh/google_compute_engine.gpg ~/xxx/xxx/google_compute_engine.gpg
git push 上 Github主要跑四個項目:
ssh參數可參考這裏
name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Run a one-line script
      run: echo Hello, world!
    - name: decrypt
      run: |
        mkdir $HOME/secrets
        gpg --quiet --batch --yes --decrypt --passphrase="$PASSPHRASE" \
        --output $HOME/secrets/key google_compute_engine.gpg
      env:
        PASSPHRASE: ${{ secrets.PASSPHRASE }}
    - name: test key
      run: ls $HOME/secrets/key
    - name: chmod
      run: chmod 600 $HOME/secrets/key
    - name: ssh
      run: ssh -o StrictHostKeyChecking=no -i $HOME/secrets/key sarahcheng@35.229.180.75 "cd action_ci/;git pull"  
# cd action_ci 要改成自己的 guthub 專案名稱
Job: 由 Step 所組成,每個 Job 皆在新的執行個體 (instance) 中執行。Job 可以同時執行,亦可取決於先前的 Job 狀態依序執行。
git push 上 Github
OK
感謝我大 TTN 協助!!